package com.redoor.app.stake.auth.service;

import com.redoor.app.stake.auth.model.BaseRole;
import com.redoor.app.stake.auth.model.BaseRoleCriteria;
import com.redoor.app.stake.auth.model.controllerModel.BaseRoleActionBean;
import com.redoornetwork.framework.mybatis.service.Service;

import java.util.List;

/**
 * Created by wangjunlei on 2018-02-07 15:19:13.
 */
public interface BaseRoleService extends Service<BaseRole, String> {

    /**
     * 查询角色主列表
     * @Author zhangYiHang
     * @Date 2018/3/8 20:30
     */
    List<BaseRole> qryRole(BaseRoleCriteria baseRoleCriteria);

    /**
     * 根据用户的uuid查询用户权限
     * @Author zhangYiHang
     * @Date 2018/3/7 18:06
     */
    List<BaseRole> qryUserRoleByUuid(String uuid);
    /**
     * 新增权限
     * @Author zhangYiHang
     * @Date 2018/3/10 22:23
     */
    void insertRole(BaseRoleCriteria baseRoleCriteria);
    /**
     * 删除角色(修改角状态)
     * @Author zhangYiHang
     * @Date 2018/3/10 22:51
     */
    void updateByStatus(BaseRole baseRole);
    /**
     * 修改角色
     * @Author zhangYiHang
     * @Date 2018/3/10 23:04
     */
    void updateByUUid(BaseRoleCriteria baseRoleCriteria);
    /**
     * 查询所有未删除角色
     * @Author zhangYiHang
     * @Date 2018/3/15 12:33
     */
    List<BaseRole> findRoleAll();
    /**
     * 根据角色名称查询数据数量
     * @Author zhangYiHang
     * @Date 2018/3/26 11:53
     * @Param
     */
    Integer qryRoleCountByRoleName(String roleName);
    /**
     * 判断登录用户是否为超级管理员
     * @Author zhangYiHang
     * @Date 2018/4/17 11:36
     * @Param
     */
    Boolean qrySupperByLoginUseruuid();
}
